package br.ucb.antares.bean;

import java.util.List;

import javax.faces.bean.ManagedBean;

import br.ucb.antares.HIB.FornecedorHIB;
import br.ucb.antares.entidade.Fornecedor;
import br.ucb.antares.interfaces.Bean;
import br.ucb.antares.log4j.FornecedorLog;
@ManagedBean
public class FornecedorBean implements Bean<Fornecedor>{
	private Fornecedor fornecedor;
	private List<Fornecedor> fornecedores;
	private FornecedorHIB fornecedorHIB;
	private List<Fornecedor> filtroForn;
	private FornecedorLog fornecedorLog = new FornecedorLog();	
	
	
	public FornecedorBean() {
		FornecedorHIB fornecedorHIB = new FornecedorHIB();
		setFornecedor(new Fornecedor());
		setFornecedores(fornecedorHIB.listar());
		
	}
	
	
	public Fornecedor getFornecedor() {
		return fornecedor;
	}
	public void setFornecedor(Fornecedor fornecedor) {
		this.fornecedor = fornecedor;
	}
	public List<Fornecedor> getFornecedores() {
		return fornecedores;
	}
	public void setFornecedores(List<Fornecedor> fornecedores) {
		this.fornecedores = fornecedores;
	}
	public FornecedorHIB getFornecedorHIB() {
		return fornecedorHIB;
	}
	public void setFornecedorHIB(FornecedorHIB fornecedorHIB) {
		this.fornecedorHIB = fornecedorHIB;
	}
	
	@Override
	public  String salvar() {
		setFornecedorHIB(new FornecedorHIB());
		getFornecedorHIB().salvar(getFornecedor());
		setFornecedor(new Fornecedor());
		fornecedorLog.logCadastrar(fornecedor);
		return "cadAltForn";
	}
	
	@Override
	public String excluir() {
		setFornecedorHIB(new FornecedorHIB());
		getFornecedorHIB().excluir(getFornecedor());
		fornecedorLog.logExcluir(fornecedor);
		this.fornecedores = getFornecedorHIB().listar();

		return "listForn.xhtml";
	}

	@Override
	public String listar() {
		setFornecedorHIB(new FornecedorHIB());
		setFornecedores(getFornecedorHIB().listar());
		return "listForn";
	}

	@Override
	public String consultar() {
		setFornecedorHIB(new FornecedorHIB());
		setFornecedor(getFornecedorHIB().consultar(getFornecedor().getId()));
		return "listForn";
	}


	public List<Fornecedor> getFiltroForn() {
		return filtroForn;
	}


	public void setFiltroForn(List<Fornecedor> filtroForn) {
		this.filtroForn = filtroForn;
	}
	
	public int getQuantidade() {  
        return getFornecedores().size();  
    }  
	
}
